/***************************************************************************
 * arch/arm64/src/goldfish/goldfish_rtc.c
 *
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.  The
 * ASF licenses this file to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance with the
 * License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
 * License for the specific language governing permissions and limitations
 * under the License.
 *
 ***************************************************************************/

/***************************************************************************
 * Included Files
 ***************************************************************************/

#include <nuttx/arch.h>
#include <nuttx/timers/pl031.h>
#include <nuttx/timers/rtc.h>
#include <nuttx/timers/arch_rtc.h>

/***************************************************************************
 * Public Functions
 ***************************************************************************/

int up_rtc_initialize(void)
{
  FAR struct rtc_lowerhalf_s *rtc_lowerhalf =
            pl031_initialize(CONFIG_GOLDFISH_RTC_PL031_BASE,
                             CONFIG_GOLDFISH_RTC_PL031_IRQ);

  up_rtc_set_lowerhalf(rtc_lowerhalf, true);

  return rtc_initialize(0, rtc_lowerhalf);
}
